package cliente.pagina.contenido.ExamenAutoexamen.Docente;

import cliente.pagina.contenido.ExamenAutoexamen.ContenidoExamenAutoexamen;
import helpers.examenAutoexamen.*;
import cliente.pagina.*;
import comun.constantes.*;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */

public class ContenidoGestionDocente extends ContenidoExamenAutoexamen {
	HelperExamenAutoexamen helperEA=null;
	
	public ContenidoGestionDocente() {
	}
	
	public ContenidoGestionDocente(Pagina pagina) {
		super(pagina);
		this.setPermisoEscritura(this.getPagina().obtenerPermisoRecurso(this.getNombreRecurso()).compareTo(TIPO_PERMISOS.ESCRITURA)==0);
	}
	
	public String getTitulo() {
		return TEXTOS.EVALUACIONES;
	}
	
	public String getNombreRecurso() {
		return RECURSOS.EVALUACIONES;
	}
		
	private void procesarAccionEx(String accion) throws Exception {
		HelperExamenAutoexamen helperExA = new HelperExamenAutoexamen(this.getPagina());
		try{
		//	System.out.println("ACCION... :   " + accion);
			if(accion!=null && accion.compareTo(ACCIONES_A_REALIZAR.ELIMINAR_EXAMEN)==0){
				helperExA.eliminarExamen();
			}
			if(accion!=null && accion.compareTo(ACCIONES_A_REALIZAR.ELIMINAR_AUTOEXAMEN)==0){
				helperExA.eliminarAutoex();
			}
			if(accion!=null && accion.compareTo(ACCIONES_A_REALIZAR.ELIMINAR_CUESTIONARIO)==0){
				helperExA.eliminarCuestionario();
			}
			if(accion!=null && accion.compareTo(ACCIONES_A_REALIZAR.MOSTRAR_EXAMEN)==0){
				String idExPublicar = this.getPagina().getParameter("IdEvalPublOcult");
				helperExA.publicarExamen(new Long(idExPublicar));
			}
			if(accion!=null && accion.compareTo(ACCIONES_A_REALIZAR.MOSTRAR_AUTOEXAMEN)==0){
				String idAutoexPublicar = this.getPagina().getParameter("IdEvalPublOcult");
				helperExA.publicarAutoexamen(new Long(idAutoexPublicar));
			}
			if(accion!=null && accion.compareTo(ACCIONES_A_REALIZAR.MOSTRAR_CUESTIONARIO)==0){
				String idAutoexPublicar = this.getPagina().getParameter("IdEvalPublOcult");
				helperExA.publicarCuestionario(new Long(idAutoexPublicar));
			}
			if(accion!=null && accion.compareTo(ACCIONES_A_REALIZAR.OCULTAR_EXAMEN)==0){
				String idExPublicar = this.getPagina().getParameter("IdEvalPublOcult");
				helperExA.ocultarExamen(new Long(idExPublicar));
			}
			if(accion!=null && accion.compareTo(ACCIONES_A_REALIZAR.OCULTAR_AUTOEXAMEN)==0){
				String idAutoexPublicar = this.getPagina().getParameter("IdEvalPublOcult");
				helperExA.ocultarAutoexamen(new Long(idAutoexPublicar));
			}
			if(accion!=null && accion.compareTo(ACCIONES_A_REALIZAR.OCULTAR_CUESTIONARIO)==0){
				String idAutoexPublicar = this.getPagina().getParameter("IdEvalPublOcult");
				helperExA.ocultarCuestionario(new Long(idAutoexPublicar));
			}
			helperExA.commit();
		}catch(Exception ex){
			ex.printStackTrace();
			helperExA.rollback();
			throw ex;
		}
	}
	
	public String getHTMLVista() {
		String html = new String(""); 
		html+="<h1>"+this.getTitulo()+"</h1>\n";
		try{
			String accionEx = this.getPagina().getParameter(PARAMETROS_PAGINAS.ACCION_EX);
			this.procesarAccionEx(accionEx);
			String accionAutoex = this.getPagina().getParameter(PARAMETROS_PAGINAS.ACCION_AUTOEX);
			this.procesarAccionEx(accionAutoex);
			String accionCuest = this.getPagina().getParameter(PARAMETROS_PAGINAS.ACCION_CUEST);
			this.procesarAccionEx(accionCuest);
			helperEA= new HelperExamenAutoexamen(this.getPagina());
			String permGestEx = this.getPagina().obtenerPermisoRecurso(RECURSOS.GESTION_EXAMEN);
			String permCorr = this.getPagina().obtenerPermisoRecurso(RECURSOS.CORRECCION_EXAMEN);
			if(permGestEx.compareTo(TIPO_PERMISOS.LECTURA)==0 || permGestEx.compareTo(TIPO_PERMISOS.ESCRITURA)==0)
				html+=helperEA.getHTMLTablaExamenes(permGestEx,permCorr);
			String permGestAutoex = this.getPagina().obtenerPermisoRecurso(RECURSOS.GESTION_AUTOEXAMEN);
			if(permGestAutoex.compareTo(TIPO_PERMISOS.LECTURA)==0 || permGestAutoex.compareTo(TIPO_PERMISOS.ESCRITURA)==0)
				html+=helperEA.getHTMLTablaAutoexamenes(permGestAutoex);
			String permGestCuest = this.getPagina().obtenerPermisoRecurso(RECURSOS.GESTION_CUESTIONARIO);
			if(permGestCuest.compareTo(TIPO_PERMISOS.LECTURA)==0 || permGestCuest.compareTo(TIPO_PERMISOS.ESCRITURA)==0)
				html+=helperEA.getHTMLTablaCuestionarios(permGestCuest);
			if(permGestEx.compareTo(TIPO_PERMISOS.ESCRITURA)==0 || permGestAutoex.compareTo(TIPO_PERMISOS.ESCRITURA)==0 
					||permGestCuest.compareTo(TIPO_PERMISOS.ESCRITURA)==0){
				html+=helperEA.getHTMLLinkBaseDatos(permGestCuest);
			}
			helperEA.commit();
		}catch(Exception ex) {
			ex.printStackTrace();
			helperEA.rollback();
			return  comun.MensajeDeError.ERROR_EN_LA_GENERACION_DE_LA_PAGINA;
		}
		return html;     
	}
	
	protected String getSubcarpetaRecurso() {
		return CARPETAS_ARCHIVOS_RECURSO.EVALUACIONES+"/";
	}
	
	public String getTeclaAccesoRapido() {
		// TODO Auto-generated method stub
		return "";
	}
}